From a998d7042ab6062f22602196cdd052898af06b00 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Mon, 25 Apr 2005 15:10:07 +0000 Subject: [PATCH] bitkeeper revision 1.1382 (426d084fj_L9HqLwTZs1okz5LbnXcg) Fix writable pagetables for uniproc domains such that we don't use the emulation path every time. Signed-off-by: Keir Fraser --- xen/arch/x86/mm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index e4f989ad5e..fdf2d8af71 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -2802,7 +2802,11 @@ int ptwr_do_page_fault(struct domain *d, unsigned long addr) * update to ensure we make progress. */ if ( d->arch.ptwr[which].prev_nr_updates == 0 ) + { + /* Ensure that we don't get stuck in an emulation-only rut. */ + d->arch.ptwr[which].prev_nr_updates = 1; goto emulate; + } d->arch.ptwr[which].l1va = addr | 1; d->arch.ptwr[which].l2_idx = l2_idx; -- 2.30.2